package com.zs.backend.modules.certificate.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.web.multipart.MultipartFile;

@Data
@Builder
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor  // 添加无参构造方法
public class UserCertificateDTO {

    private Long id;
    @ApiModelProperty("所属公司id")
    private Long companyId;
    @ApiModelProperty("所属公司名称")
    private String companyName;
    @ApiModelProperty("收证人id")
    private Long acceptCertificateUserId;
    @ApiModelProperty("收证人")
    private String acceptCertificateUserName;
    @ApiModelProperty("职称年份")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date titleTime;
    @ApiModelProperty("人才姓名")
    private String personnelName;
    @ApiModelProperty("人才电话")
    private String personnelTel;
    @ApiModelProperty("职称专业")
    private String titleMajor;
    @ApiModelProperty("证书类型")
    private String certificateTypeName;
    @ApiModelProperty("毕业专业")
    private String graduationMajor;
    @ApiModelProperty("毕业年份")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date graduationTime;
    @ApiModelProperty("学历（1：专科，2：本科 ，3：硕士）")
    private String qualification;
    @ApiModelProperty("电子、纸质（1：电子，2：纸质）")
    private String category;
    @ApiModelProperty("个人证书类别(1:注册类；2：非注册类)")
    private Integer type;
    @ApiModelProperty("身份证号")
    private String idCard;
    @ApiModelProperty("证书归属地")
    private String certificateBelongingPlace;
    @ApiModelProperty("价格资质")
    private String price;
    @ApiModelProperty("职称编号")
    private String titleNumber;
    private byte[] certificateData;
    @ApiModelProperty("限制地区")
    private String restrictedAreas;
    @ApiModelProperty("限制地区（多个）")
    private String restrictedAreass;
    @ApiModelProperty("备注")
    private String remark;
    private Date createTime;
    private Date updateTime;
    private Long createUid;
    private String createUname;
    @ApiModelProperty("状态（0：正常;1：删除）")
    private Integer status;
    //职称年份-开始
    @ApiModelProperty("职称年份-开始")
    private Date startTitleTime;
    //职称年份-结束
    @ApiModelProperty("职称年份-结束")
    private Date endTitleTime;
    //毕业年份-开始
    @ApiModelProperty("毕业年份-开始")
    private Date startGraduationTime;
    //毕业年份-结束
    @ApiModelProperty("毕业年份-结束")
    private Date endGraduationTime;
    //创建时间-开始
    @ApiModelProperty("毕业年份-开始")
    private Date startCreateTime;
    //创建时间-结束
    @ApiModelProperty("毕业年份-结束")
    private Date endCreateTime;
    //职称专业模糊查询
    @ApiModelProperty("职称专业模糊查询")
    private String likeTitleMajor;
    @ApiModelProperty("上传文件")
    private MultipartFile certificateFile;

    @ApiModelProperty("ids, 多个id 使用逗号分隔")
    private String ids;

    @ApiModelProperty("证书归属地 code")
    private String placeCode;

    @ApiModelProperty("文件名字")
    private String certificateDataName;

    @ApiModelProperty("上传的文件类型")
    private String certificateDataType;

    @ApiModelProperty("职称类型")
    private String titleType;

    @ApiModelProperty("限制地区 code")
    private String restrictedAreasCode;

    @ApiModelProperty("上传的文件地址")
    private String fileUrl;

    @ApiModelProperty("文件地址")
    private String filePath;

    @ApiModelProperty("手机号码-加密")
    private String encodeTel;

    @ApiModelProperty("身份证号-加密")
    private String encodeIdCard;



}
